package com.bana.fvs.protocol;

import com.bana.fvs.model.Controller;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;

/**
 * 设置控制器雾灯地址
 */
public class SetLampAddress {

    public int getId()
    {
        return 0x0f;
    }


    public byte[] toBuffer(int kzqbsm, Controller controller) throws IOException {

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(baos);
        dos.writeByte(0x81);
        dos.writeByte(kzqbsm);
        dos.writeByte(getId());
        dos.writeByte(controller.getKsdz()%128);
        dos.writeByte(controller.getKsdz()/128);
        dos.writeByte(controller.getJsdz()%128);
        dos.writeByte(controller.getJsdz()/128);

        if(controller.getKsdz1()!=0&&controller.getJsdz1()!=0)
        {
            dos.writeByte(controller.getKsdz1()%128);
            dos.writeByte(controller.getKsdz1()/128);
            dos.writeByte(controller.getJsdz1()%128);
            dos.writeByte(controller.getJsdz1()/128);
        }
        if(controller.getKsdz2()!=0&&controller.getJsdz2()!=0)
        {
            dos.writeByte(controller.getKsdz2()%128);
            dos.writeByte(controller.getKsdz2()/128);
            dos.writeByte(controller.getJsdz2()%128);
            dos.writeByte(controller.getJsdz2()/128);
        }
        if(controller.getKsdz3()!=0&&controller.getJsdz3()!=0)
        {
            dos.writeByte(controller.getKsdz3()%128);
            dos.writeByte(controller.getKsdz3()/128);
            dos.writeByte(controller.getJsdz3()%128);
            dos.writeByte(controller.getJsdz3()/128);
        }
        dos.writeByte(0xFF);
        byte[] buffer= baos.toByteArray();
        dos.close();
        baos.close();
        return buffer;
    }
}
